<?php

$fb_init = new Facebook(array(
      'appId'   =>  FB_APP_ID,
      'secret'  => FB_APP_SECRET,
      'cookie' => TRUE,
    ));
$fb_init->getUser();
$GLOBALS['facebook'] = $fb_init;

function is_fb_admin($redirect = TRUE) {
  global $facebook, $admins;
  $graph_url = "https://graph.facebook.com/me?access_token=". $facebook->getAccessToken();
	// TODO does curl_file_get_cotnents throw an error --> surpres
	$response = curl_get_file_contents($graph_url);
	$decoded_response = json_decode($response);

	//Check for errors
	if (isset($decoded_response->error)) {
		// check to see if this is an oAuth error:
		if ($decoded_response->error->type== "OAuthException") {
			// Retrieving a valid access token.
			$dialog_url= "https://www.facebook.com/dialog/oauth?"
				. "client_id=" . FB_APP_ID
				. "&redirect_uri=" . FB_APP_URL
				. "&scope=" . FB_PERMISSIONS;


			if ($redirect) {
				exit("<script> top.location.href='" . $dialog_url ."'</script>");
			}

			return NULL;
		}
		else {
			// TODO handle other error
		}
	}
  return in_array($facebook->getUser(), $admins) ? TRUE : FALSE;
}

function base64_url_decode($input) {
  return base64_decode(strtr($input, '-_', '+/'));
}

function parse_signed_request($signed_request, $secret) {
  list($encoded_sig, $payload) = explode('.', $signed_request, 2);

  // decode the data
  $sig = base64_url_decode($encoded_sig);
  $data = json_decode(base64_url_decode($payload), true);

  if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
    error_log('Unknown algorithm. Expected HMAC-SHA256');
    return null;
  }

  // Adding the verification of the signed_request below
  $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  if ($sig !== $expected_sig) {
    error_log('Bad Signed JSON signature!');
    return null;
  }

  return $data;
}

function first_part_sentences() {
  return array(
        '1'  => 'да търся информация',
        '2'  => 'на свободен достъп до сайтове и услуги',
        '3'  => 'да правя, каквото ми харесва',
        '4'  => 'да използвам възможностите на интернет',
        '5'  => 'да създавам свое съдържание',
        '6'  => 'да изразявам свободно мнение',
        '7'  => 'да играя',
        '8'  => 'да общувам свободно',
        '9'  => 'да ползвам всичко, което ми е нужно',
        '10' => 'да проверявам истинността на информацията',
        '11' => 'да определям достъпа до моето съдържание',
        '12' => 'да се ползвам с добра репутация',
        '13' => 'да подбирам информацията',
        '14' => 'да спра, когато се отегча',
        '15' => 'да не бъда обект на рекламни атаки',
        '16' => 'да не бъда следен какво правя',
        '17' => 'да бъда информиран за условията за ползване',
        '18' => 'да се чувствам в безопасност',
        '19' => 'да създавам нови приятелства',
        '20' => 'да си помагам за училище',
        '21' => 'да докладвам за нередности',
        '22' => 'да получавам помощ от други потребители',
        '23' => 'да изтрия личната си информация',
        '24' => 'да бъда изслушван',
        '25' => 'да получавам професионална помощ',
        '26' => 'да участвам във вземане на решения',
        '27' => 'на лично пространство',
      );
}